"""
    姓名 :  新  哥
    时间 : 2022/6/25 下午 03:29
    文件名 : reg_login_api.py
    需求：
        封装  api
"""
import logging.handlers

from config import BASE_HOST


class RegLoginApi:

    def __init__(self, session):
        self.session = session

    # 获取图片验证码接口
    def get_img_verify_code(self, r):
        """
        封装获取图片验证码
        :param r: 随机小数，随机整数
        :return:  返回图片验证码接口 response 结果
        """
        url = BASE_HOST + "/common/public/verifycode1/{}".format(r)
        resp = self.session.get(url=url)
        logging.info("获取图片验证码接口的响应状态码:{}".format(resp.status_code))
        return resp

    # 获取短信验证码接口
    def get_phone_verify_code(self, phone_v, img_code_v, type_v="reg"):
        """
        封装短信验证码
        :param phone_v: 手机号
        :param img_code_v:验证码
        :param type_v:类型
        :return: 返回短信验证码接口 response 结果
        """
        url = BASE_HOST + "/member/public/sendSms"
        data_dict = {"phone": phone_v, "imgVerifyCode": img_code_v, "type": type_v}
        resp = self.session.post(url=url, data=data_dict)
        logging.info("获取短信验证码的响应数据：{}".format(resp.json()))
        return resp

    # 注册接口
    def user_register(self, form_dict):
        """
        封装注册
        :param form_dict: 注册参数
        :return: 返回注册接口 response 结果
        """
        url = BASE_HOST + "/member/public/reg"
        resp = self.session.post(url=url, data=form_dict)
        logging.info("注册接口的响应数据：{}".format(resp.json()))
        return resp

    # 登录接口
    def user_login(self, username_v, pwd_v):
        """
        封装登录接口
        :param username_v: 手机号
        :param pwd_v: 密码
        :return: 返回登录接口 response 结果
        """
        url = BASE_HOST + "/member/public/login"
        form_dict = {"keywords": username_v, "password": pwd_v}
        resp = self.session.post(url=url, data=form_dict)
        logging.info("登录接口的响应数据：{}".format(resp.json()))
        return resp
